package com.ruoyi.system.domain;

import java.time.LocalDateTime;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.springframework.format.annotation.DateTimeFormat;

import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 数据管理对象 ana_data
 *
 * @author wsx
 * @date 2025-07-30
 */
public class VideoData extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 数据ID */
    private Long dataId;

    /** 开始采集时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss:SSS", timezone = "GMT+8", shape = JsonFormat.Shape.STRING)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss:SSS")
    @Excel(name = "开始采集时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss:SSS")
    private LocalDateTime startCollectTime;

    /** 结束采集时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss:SSS", timezone = "GMT+8", shape = JsonFormat.Shape.STRING)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss:SSS")
    @Excel(name = "结束采集时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss:SSS")
    private LocalDateTime endCollectTime;

    /** 采集时长 */
    @Excel(name = "采集时长")
    private String collectDuration;

    /** 是否归档（0未归档 1已归档） */
    @Excel(name = "是否归档", readConverterExp = "0=未归档,1=已归档")
    private String isArchived;

    /** 数据大小(字节) */
    @Excel(name = "数据大小(字节)")
    private Long fileSize;

    /** 存储路径 */
    @Excel(name = "存储路径")
    private String storagePath;

    @Excel(name = "遥测储存路径")
    private String telemetryStoragePath;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /** 数据管理主键 */
    private String ids;

    /** 任务管理主键 */
    private Long taskId;

    /** 采集任务ID */
    private Integer collectionTaskId;

    /** 采集任务名称 */
    private String collectionTaskName;

    /** 存储路径文件大小（内存计算用，数据库中不存在） */
    private Double storagePathFileSize;

    /** 遥测存储路径文件大小（内存计算用，数据库中不存在） */
    private Double telemetryStoragePathFileSize;

    public void setDataId(Long dataId) {
        this.dataId = dataId;
    }

    public Long getDataId() {
        return dataId;
    }

    public void setStartCollectTime(LocalDateTime startCollectTime) {
        this.startCollectTime = startCollectTime;
    }

    public LocalDateTime getStartCollectTime() {
        return startCollectTime;
    }

    public void setEndCollectTime(LocalDateTime endCollectTime) {
        this.endCollectTime = endCollectTime;
    }

    public LocalDateTime getEndCollectTime() {
        return endCollectTime;
    }

    public void setCollectDuration(String collectDuration) {
        this.collectDuration = collectDuration;
    }

    public String getCollectDuration() {
        return collectDuration;
    }

    public void setIsArchived(String isArchived) {
        this.isArchived = isArchived;
    }

    public String getIsArchived() {
        return isArchived;
    }

    public void setFileSize(Long fileSize) {
        this.fileSize = fileSize;
    }

    public Long getFileSize() {
        return fileSize;
    }

    public void setStoragePath(String storagePath) {
        this.storagePath = storagePath;
    }

    public String getStoragePath() {
        return storagePath;
    }

    public String getTelemetryStoragePath() {
        return telemetryStoragePath;
    }

    public void setTelemetryStoragePath(String telemetryStoragePath) {
        this.telemetryStoragePath = telemetryStoragePath;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public String getDelFlag() {
        return delFlag;
    }

    public void setIds(String ids) {
        this.ids = ids;
    }

    public String getIds() {
        return ids;
    }

    public void setTaskId(Long taskId) {
        this.taskId = taskId;
    }

    public Long getTaskId() {
        return taskId;
    }

    public void setCollectionTaskId(Integer collectionTaskId) {
        this.collectionTaskId = collectionTaskId;
    }

    public Integer getCollectionTaskId() {
        return collectionTaskId;
    }

    public void setCollectionTaskName(String collectionTaskName) {
        this.collectionTaskName = collectionTaskName;
    }

    public String getCollectionTaskName() {
        return collectionTaskName;
    }

    public void setStoragePathFileSize(Double storagePathFileSize) {
        this.storagePathFileSize = storagePathFileSize;
    }

    public Double getStoragePathFileSize() {
        return storagePathFileSize;
    }

    public void setTelemetryStoragePathFileSize(Double telemetryStoragePathFileSize) {
        this.telemetryStoragePathFileSize = telemetryStoragePathFileSize;
    }

    public Double getTelemetryStoragePathFileSize() {
        return telemetryStoragePathFileSize;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("dataId", getDataId())
                .append("startCollectTime", getStartCollectTime())
                .append("endCollectTime", getEndCollectTime())
                .append("collectDuration", getCollectDuration())
                .append("isArchived", getIsArchived())
                .append("fileSize", getFileSize())
                .append("storagePath", getStoragePath())
                .append("telemetryStoragePath", getTelemetryStoragePath())
                .append("remark", getRemark())
                .append("delFlag", getDelFlag())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("collectionTaskId", getCollectionTaskId())
                .append("collectionTaskName", getCollectionTaskName())
                .append("storagePathFileSize", getStoragePathFileSize())
                .append("telemetryStoragePathFileSize", getTelemetryStoragePathFileSize())
                .toString();
    }
}